package com.lutzyt.delivery.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lutzyt.delivery.bean.Commodity;
import com.lutzyt.delivery.bean.Shop;

import java.util.List;

/**
 * 店铺表
 */
public interface ShopService extends IService<Shop> {

  /**
   * 通过ID查询单个店铺表
   *
   * @param id ID
   * @return {@link Shop}
   */
  Shop findById(Integer id);

  /**
   * 分页查询店铺表
   *
   * @param pageNum  页号
   * @param pageSize 每页大小
   * @return {@link Shop}
   */
  IPage<Shop> findByPage(int pageNum, int pageSize);

  /**
   * 新增店铺表
   *
   * @param shop 店铺表
   */
  void insert(Shop shop);

  /**
   * 修改店铺表
   *
   * @param shop 店铺表
   */
  void update(Shop shop);

  /**
   * 通过ID删除单个店铺表
   *
   * @param id ID
   */
  void deleteById(Integer id);

  /**
   * 批量删除
   * @param ids
   */
  void deleteByIds(List<String> ids);

  /**
   * 热门店铺
   * @return
   */
  List<Shop> hot();

  /**
   * 获取该店铺的所有商品
   * @param id
   * @return
   */
  List<Commodity> findCommodityByShopId(String id);
}